package co.com.ticci.mb;

import java.util.ArrayList;

import javax.faces.application.FacesMessage;
import javax.faces.context.FacesContext;
import javax.faces.event.ActionEvent;
import javax.faces.event.AjaxBehaviorEvent;

import org.primefaces.component.datatable.DataTable;

import co.com.autolavado.ln.EmpresaLn;
import co.com.ticci.autolavado.vo.TicciEmpresa;
import co.com.ticci.mb.general.GeneralMB;

public class EmpresaMB extends GeneralMB
{
	private EmpresaLn 		empresaLn;
	private TicciEmpresa	empresaSeleccionada;
	private DataTable		tableEmpresas;
	
	
	public EmpresaMB()
	{
		empresaLn 	= new EmpresaLn();
	}
	
	public void seleccionarEmpresa(AjaxBehaviorEvent evento)
	{
		empresaSeleccionada = (TicciEmpresa) tableEmpresas.getRowData();
	}

	public void insertar() 
	{
		System.err.println("insertar");
		TicciEmpresa empresa = new TicciEmpresa();
		empresa.setEmprCons(-1);
		empresa.setEmprEstado(true);
		
		crud.agregarElemento(empresa);
	}
	
	
	public void borrar() 
	{
		if(empresaSeleccionada != null)
		crud.eliminarElemento(empresaSeleccionada);
	}

	public void cargar(ActionEvent event) 
	{
		crud.iniciarCrud(empresaLn.getAllEmpresas());
	}
	
	public void grabar() 
	{
		
		ArrayList<ArrayList<? extends Object>> resultadoCrud = crud.getResultadosCrud();
		ArrayList<TicciEmpresa> insertables                  = (ArrayList<TicciEmpresa>) resultadoCrud.get(1);
		
		if(crud.existenCambios())
		{
			int                    ultimoConsecutivo             = empresaLn.getUltimoConsEmpresa();
			
			for (TicciEmpresa ticciEmpresa : insertables) 
			{
				ticciEmpresa.setEmprCons(ultimoConsecutivo);
				ultimoConsecutivo ++;
			}
			
			  FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_INFO,  
                      "Info", crud.guardarCambios()));  

		}
		else
		{
			
			FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_INFO,  
                    "Info", "No existen Cambios"));  
		}
	}
}
